/*
 Crear una clase que represente un número racional que permita, al menos, 
 sumar, multiplicar y simplificar números racionales. Proporcionar un 
 constructor por defecto, un constructor de copia (esto es, un constructor
 al que se le pasa una instancia de la clase número racional y crea otro número
 racional idéntico), y otro que permita indicar los valores del numerador y del 
 denominador. Usa la clase desde un programa de ejemplo.
 */
package Tema3.Ejercicio3;

/**
 *
 * @author larabenito
 */
public class NumeroRacional {

    /*double operando1;
     double operando2;*/
    //@mconde: debes coger la costumbre de declarar las variables de una
    //clase como private y crear los getter & setter (parece estúpido pero es
    //una buena práctica de programación.
    private double numerador;
    private double denominador;

    public NumeroRacional() {
    }

    public NumeroRacional(double numerador, double denominador) {
        this.numerador = numerador;
        this.denominador = denominador;
    }

    //@mconde: te faltaba este constructor de copia:
    public NumeroRacional(NumeroRacional numero) {
        this.numerador = numero.getNumerador();
        this.denominador = numero.getDenominador();
    }

    //@mconde: esto te faltaba
    public double getNumerador() {
        return numerador;
    }

    //@mconde: esto te faltaba
    public void setNumerador(double numerador) {
        this.numerador = numerador;
    }

    //@mconde: esto te faltaba
    public double getDenominador() {
        return denominador;
    }

    //@mconde: esto te faltaba
    public void setDenominador(double denominador) {
        this.denominador = denominador;
    }

    //@mconde: ¿Para qué necesitas pasarle los operandos si ya los tienes arriba?
    //En todo caso tendrás que pasarle los operandos del otro número racional
    /*public double suma(double operando1, double operando2) {
     double resultadoSuma;
     resultadoSuma = operando1 + operando2;
     return resultadoSuma;
     }*/
    public double suma(NumeroRacional numero) {
        double resultadoSuma;
        resultadoSuma = (this.numerador / this.denominador) + (numero.getNumerador() / numero.getDenominador());
        return resultadoSuma;
    }

    //@mconde: te pasa lo mismo que en la suma
    /*public double resta(double operando1, double operando2) {
     double resultadoResta;
     resultadoResta = operando1 - operando2;
     return resultadoResta;
     }*/
    public double resta(NumeroRacional numero) {
        return (this.numerador / this.denominador) - (numero.getNumerador() / numero.getDenominador());
    }

    //@mconde: te pasa lo mismo que en la suma
    /*public String simplificar(double operando1, double operando2) {
     int operando1Simplificado = (int) operando1;
     int operando2Simplificado = (int) operando2;
     return operando1Simplificado + " " + operando2Simplificado + " ";
     }*/
    public int simplificar() {
        return (int) (this.numerador / this.denominador);
    }

}
